if (window.PrimeFaces) {
  /** Polish */
  PrimeFaces.locales["pl"] = {
    startsWith: "Zaczyna się od",
    contains: "Zawiera",
    notContains: "Nie zawiera",
    endsWith: "Kończy się na",
    equals: "Równe",
    notEquals: "Nierówne",
    noFilter: "Wyczyść filtr",
    lt: "Mniejsze od",
    lte: "Mniejsze lub równe",
    gt: "Większe od",
    gte: "Większe lub równe",
    dateIs: "Równa",
    dateIsNot: "Nierówna",
    dateBefore: "Przed",
    dateAfter: "Po",
    clear: "Wyczyść",
    apply: "Zastosuj",
    matchAll: "Dopasuj wszystko",
    matchAny: "Dopasuj dowolne",
    addRule: "Dodaj regułę",
    removeRule: "Usuń regułę",
    accept: "Tak",
    reject: "Nie",
    choose: "Wybierz",
    upload: "Wgraj",
    cancel: "Anuluj",
    completed: "Ukończone",
    pending: "Oczekuje",
    dayNames: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota"],
    dayNamesShort: ["Ndz", "Pon", "Wt", "Śr", "Czw", "Pt", "Sob"],
    dayNamesMin: ["Nd", "Pn", "Wt", "Śr", "Cz", "Pt", "So"],
    monthNames: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"],
    monthNamesShort: ["Sty", "Lut", "Mar", "Kwi", "Maj", "Cze", "Lip", "Sie", "Wrz", "Paź", "Lis", "Gru"],
    quarterNames: ["I Kwartał", "II Kwartał", "III Kwartał", "IV Kwartał"],
    quarterNamesShort: ["I Kw", "II Kw", "III Kw", "IV Kw"],
    chooseYear: "Wybierz rok",
    chooseMonth: "Wybierz miesiąc",
    chooseDate: "Wybierz datę",
    prevDecade: "Poprzednia dekada",
    nextDecade: "Następna dekada",
    prevYear: "Poprzedni rok",
    nextYear: "Następny rok",
    prevMonth: "Poprzedni miesiąc",
    nextMonth: "Następny miesiąc",
    prevHour: "Poprzednia godzina",
    nextHour: "Następna godzina",
    prevMinute: "Poprzednia minuta",
    nextMinute: "Następna minuta",
    prevSecond: "Poprzednia sekunda",
    nextSecond: "Następna sekunda",
    today: "Dzisiaj",
    now: "Teraz",
    weekHeader: "Tydzień",
    firstDayOfWeek: 1,
    showMonthAfterYear: false,
    dateFormat: "dd.mm.yy",
    weak: "Słaby",
    medium: "Średni",
    strong: "Silny",
    passwordPrompt: "Wprowadź hasło",
    emptyFilterMessage: "Brak wyników wyszukiwania",
    searchMessage: "Dostępnych jest {0} wyników",
    selectionMessage: "Wybrano {0} elementów",
    emptySelectionMessage: "Brak wybranego elementu",
    emptySearchMessage: "Nie znaleziono wyników",
    emptyMessage: "Brak danych",
    aria: {
      trueLabel: "Prawda",
      falseLabel: "Fałsz",
      nullLabel: "Nie zaznaczone",
      star: "1 gwiazdka",
      stars: "{star} gwiazdek",
      selectAll: "Wszystkie elementy zaznaczone",
      unselectAll: "Wszystkie elementy odznaczone",
      close: "Zamknij",
      previous: "Poprzedni",
      next: "Następny",
      navigation: "Nawigacja",
      scrollTop: "Przewiń do góry",
      moveTop: "Przesuń do góry",
      moveUp: "Podnieść",
      moveDown: "Położyć",
      moveBottom: "Przesuń w dół",
      moveToTarget: "Przenieś do celu",
      moveToSource: "Przenieś do źródła",
      moveAllToTarget: "Przenieś wszystko do celu",
      moveAllToSource: "Przenieś wszystko do źródła",
      pageLabel: "Strona {page}",
      firstPageLabel: "Pierwsza strona",
      lastPageLabel: "Ostatnia strona",
      nextPageLabel: "Następna strona",
      previousPageLabel: "Poprzednia strona",
      rowsPerPageLabel: "Wierszy na stronę",
      selectRow: "Wiersz zaznaczony",
      unselectRow: "Wiersz odznaczony",
      expandRow: "Wiersz rozwinięty",
      collapseRow: "Zwinięty wiersz",
      showFilterMenu: "Pokaż menu filtrów",
      hideFilterMenu: "Ukryj menu filtrów",
      filterOperator: "Operator filtra",
      filterConstraint: "Ograniczenie filtra",
      editRow: "Edycja wiersza",
      saveEdit: "Zapisz edycję",
      cancelEdit: "Anuluj edycję",
      listView: "Widok listy",
      gridView: "Widok siatki",
      slide: "Slajd",
      slideNumber: "{slideNumber}",
      zoomImage: "Powiększ obraz",
      zoomIn: "Przybliż",
      zoomOut: "Oddal",
      rotateRight: "Obróć w prawo",
      rotateLeft: "Obróć w lewo",
    },
  };

// custom PF labels
  PrimeFaces.locales["pl"] = $.extend(true, {}, PrimeFaces.locales["pl"], {
    weekNumberTitle: "Tydz",
    isRTL: false,
    yearSuffix: "r",
    timeOnlyTitle: "Tylko czas",
    timeText: "Czas",
    hourText: "Godzina",
    minuteText: "Minuta",
    secondText: "Sekunda",
    millisecondText: "Millisekunda",
    year: "Rok",
    month: "Miesiąc",
    week: "Tydzień",
    day: "Dzień",
    list: "Plan",
    allDayText: "Cały dzień",
    moreLinkText: "Więcej...",
    noEventsText: "Brak wydarzeń",
    aria: {
      "datatable.sort.ASC": "Kliknij, aby posortować kolumny rosnąco",
      "datatable.sort.DESC": "Kliknij, aby posortować kolumny malejąco",
      "datatable.sort.NONE": "Kliknij, aby usunąć sortowanie kolumny",
      "switch.ON": "Wł.",
      "switch.OFF": "Wył.",
      "messages.ERROR": "Błąd",
      "messages.FATAL": "Krytyczny",
      "messages.INFO": "Informacje",
      "messages.WARN": "Ostrzeżenie",
    },
    messages: {
      //optional for Client Side Validation
      "javax.faces.component.UIInput.REQUIRED": "{0}: Błąd walidacji: Wartość jest wymagana.",
      "javax.faces.converter.IntegerConverter.INTEGER": "{2}: '{0}' musi być liczbą składającą się z co najmniej jednej cyfry.",
      "javax.faces.converter.IntegerConverter.INTEGER_detail": "{2}: '{0}' musi być liczbą z przedziału od -2147483648 do 2147483647. Na przykład: {1}.",
      "javax.faces.converter.DoubleConverter.DOUBLE": "{2}: '{0}' musi być liczbą składającą się z co najmniej jednej cyfry.",
      "javax.faces.converter.DoubleConverter.DOUBLE_detail": "{2}: '{0}' musi być liczbą z przedziału od 4.9E-324 do 1.7976931348623157E308. Na przykład: {1}.",
      "javax.faces.converter.BigDecimalConverter.DECIMAL": "{2}: '{0}' musi być liczbą dziesiętną ze znakiem.",
      "javax.faces.converter.BigDecimalConverter.DECIMAL_detail": "{2}: '{0}' musi być liczbą dziesiętną ze znakiem składającą się z zera lub więcej cyfr, po których może następować kropka dziesiętna i ułamek. Na przykład: {1}.",
      "javax.faces.converter.BigIntegerConverter.BIGINTEGER": "{2}: '{0}' musi być liczbą składającą się z co najmniej jednej cyfry.",
      "javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail": "{2}: '{0}' musi być liczbą składającą się z jednej lub więcej cyfr . Na przykład: {1}.",
      "javax.faces.converter.ByteConverter.BYTE": "{2}: '{0}' musi być liczbą z przedziału od 0 do 255.",
      "javax.faces.converter.ByteConverter.BYTE_detail": "{2}: '{0}' musi być liczbą z przedziału od 0 do 255 . Na przykład: {1}.",
      "javax.faces.converter.CharacterConverter.CHARACTER": "{1}: '{0}' musi być prawidłowym znakiem .",
      "javax.faces.converter.CharacterConverter.CHARACTER_detail": "{1}: '{0}' musi być prawidłowym znakiem ASCII.",
      "javax.faces.converter.ShortConverter.SHORT": "{2}: '{0}' musi być liczbą składającą się z co najmniej jednej cyfry.",
      "javax.faces.converter.ShortConverter.SHORT_detail": "{2}: '{0}' musi być liczbą z przedziału od -32768 do 32767. Na przykład: {1}.",
      "javax.faces.converter.BooleanConverter.BOOLEAN": "{1}: '{0}' musi być 'prawdą' lub 'fałszem'.",
      "javax.faces.converter.BooleanConverter.BOOLEAN_detail": "{1}: '{0}' musi być 'prawdą' lub 'fałszem'. Każda wartość inna niż 'prawda' zostanie znana za 'fałsz'.",
      "javax.faces.validator.LongRangeValidator.MAXIMUM": "{1}: Błąd walidacji: Wartość nie może być większa od '{0}'.",
      "javax.faces.validator.LongRangeValidator.MINIMUM": "{1}: Błąd walidacji: Wartość nie może być mniejsza od '{0}'.",
      "javax.faces.validator.LongRangeValidator.NOT_IN_RANGE": "{2}: Błąd walidacji: Określony atrybut nie znajduje się między oczekiwanymi wartościami {0} i {1}.",
      "javax.faces.validator.LongRangeValidator.TYPE": "{0}: Błąd walidacji: Wartość jest niewłaściwego typu.",
      "javax.faces.validator.DoubleRangeValidator.MAXIMUM": "{1}: Błąd walidacji: Wartość nie możę być większa od '{0}'.",
      "javax.faces.validator.DoubleRangeValidator.MINIMUM": "{1}: Błąd walidacji: Wartość nie może być mniejsza od '{0}'.",
      "javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE": "{2}: Błąd walidacji: Określony atrybut nie znajduje się między oczekiwanymi wartościami {0} i {1}. ",
      "javax.faces.validator.DoubleRangeValidator.TYPE": "{0}: Błąd walidacji: Wartość jest niewłaściwego typu.",
      "javax.faces.converter.FloatConverter.FLOAT": "{2}: '{0}' musi być liczbą składającą się z co najmniej jednej cyfry.",
      "javax.faces.converter.FloatConverter.FLOAT_detail": "{2}: '{0}' musi być liczbą z przedziału od 1.4E-45 do 3.4028235E38. Na przykład: {1}.",
      "javax.faces.converter.DateTimeConverter.DATE": "{2}: '{0}' nie może być rozumiana jako data.",
      "javax.faces.converter.DateTimeConverter.DATE_detail": "{2}: '{0}' nie może być rozumiana jako data. Na przykład: {1}.",
      "javax.faces.converter.DateTimeConverter.TIME": "{2}: '{0}' nie może być rozumiany jako czas.",
      "javax.faces.converter.DateTimeConverter.TIME_detail": "{2}: '{0}' nie może być rozumiany jako czas. Na przykład: {1}.",
      "javax.faces.converter.DateTimeConverter.DATETIME": "{2}: '{0}' nie może być rozumiane jako data i godzina.",
      "javax.faces.converter.DateTimeConverter.DATETIME_detail": "{2}: '{0}' nie może być rozumiane jako data i godzina. Na przykład: {1}.",
      "javax.faces.converter.DateTimeConverter.PATTERN_TYPE": "{1}: Aby przekonwertować wartość '{0}', należy określić atrybut 'wzorzec' lub 'typ'.",
      "javax.faces.converter.NumberConverter.CURRENCY": "{2}: '{0}' nie może być rozumiana jako wartość waluty.",
      "javax.faces.converter.NumberConverter.CURRENCY_detail": "{2}: '{0}' nie może być rozumiana jako wartość waluty. Na przykład: {1}.",
      "javax.faces.converter.NumberConverter.PERCENT": "{2}: '{0}' nie może być rozumiane jako procent.",
      "javax.faces.converter.NumberConverter.PERCENT_detail": "{2}: '{0}' nie może być rozumiane jako procent. Na przykład: {1}.",
      "javax.faces.converter.NumberConverter.NUMBER": "{2}: '{0}' nie może być rozumiany jako liczba.",
      "javax.faces.converter.NumberConverter.NUMBER_detail": "{2}: '{0}' nie może być rozumiany jako liczba. Na przykład: {1}.",
      "javax.faces.converter.NumberConverter.PATTERN": "{2}: '{0}' nie może być rozumiane jako wzorzec liczbowy.",
      "javax.faces.converter.NumberConverter.PATTERN_detail": "{2}: '{0}' nie może być rozumiane jako wzorzec liczbowy . Na przykład: {1}.",
      "javax.faces.validator.LengthValidator.MINIMUM": "{1}: Błąd walidacji: Długość nie może być krótsza niż '{0}'.",
      "javax.faces.validator.LengthValidator.MAXIMUM": "{1}: Błąd walidacji: Długość nie może być większa niż '{0}'.",
      "javax.faces.validator.RegexValidator.PATTERN_NOT_SET": "Należy ustawić wzór wyrażenia regularnego.",
      "javax.faces.validator.RegexValidator.PATTERN_NOT_SET_detail": "Wzór wyrażenia regularnego musi mieć podaną wartość",
      "javax.faces.validator.RegexValidator.NOT_MATCHED": "Wzór wyrażenia regularnego nie pasuje.",
      "javax.faces.validator.RegexValidator.NOT_MATCHED_detail": "Wzór wyrażenia '{0}' nie pasuje.",
      "javax.faces.validator.RegexValidator.MATCH_EXCEPTION": "Błąd w wyrażeniu regularnym.",
      "javax.faces.validator.RegexValidator.MATCH_EXCEPTION_detail": "Błąd w wyrażeniu regularnym, '{0}'.",
      //optional for bean validation integration in client side validation
      "javax.faces.validator.BeanValidator.MESSAGE": "{0}",
      "javax.validation.constraints.AssertFalse.message": "musi być fałszem.",
      "javax.validation.constraints.AssertTrue.message": "musi być prawdą.",
      "javax.validation.constraints.DecimalMax.message": "musi być mniejsze bądź równe {0}.",
      "javax.validation.constraints.DecimalMin.message": "musi być większe bądź równe {0}.",
      "javax.validation.constraints.Digits.message": "niepoprawna wartość numeryczna (oczekiwano &lt;{0} digits&gt;.&lt;{1} digits&gt;).",
      "javax.validation.constraints.Future.message": "musi być przyszłą datą.",
      "javax.validation.constraints.Max.message": "musi być mniejsze bądź róne od {0}.",
      "javax.validation.constraints.Min.message": "musi być większe bądź równe od {0}.",
      "javax.validation.constraints.NotNull.message": "nie może być puste.",
      "javax.validation.constraints.Null.message": "musi pozostać nieustawione.",
      "javax.validation.constraints.Past.message": "musi być przeszłą datą.",
      "javax.validation.constraints.Pattern.message": 'musi być zgodne z wyrażeniem regularnym "{0}".',
      "javax.validation.constraints.Size.message": "musi mieć długość z przedziału od {0} do {1}.",
    },
  });
  PrimeFaces.locales["pl_PL"] = PrimeFaces.locales["pl"];
}